package com.mybatis.mapper;

import com.mybatis.pojo.Emp;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 听课用mybatis文件
 * @auther 尚智江
 * @Date 2022/9/25 23:18
 */
public interface EmpMapper {

    Emp getEmpByEmpId(@Param("empId") Integer empId);
    /**
     * 获取员工以及对应的部门信息
     * @param empId
     * @return
     */
    Emp getEmpAndDeptByEmpId(@Param("empId") Integer empId);

    /**
     * 通过分布查询，查询员工以及所对应的部门信息的第一步
     * @param empId
     * @return
     */
    Emp getEmpAndDeptByStepOne(@Param("empId")Integer empId);


    /**
     * 通过分布查询，查询部门以及部门中的员工信息的第二步
     * @param deptId
     * @return
     */
    List<Emp> getDeptAndEmpByStepTwo(@Param("deptId") Integer deptId);


    /* 动态sql*/

    /**
     * 根据条件查询员工信息
     * @param emp
     * @return
     */
    List<Emp> getEmpByCondition(Emp emp);

    /**
     * 使用choose查询
     * @param emp
     * @return
     */
    List<Emp> getEmpByChoose(Emp emp);


    /**
     * 批量添加员工
     * @param emps
     */
    Integer insertMoreEmp(@Param("emps") List<Emp> emps);

    /**
     * 批量删除
     * @param empIds
     * @return
     */
    Integer deleteMoreEmp(@Param("empIds") Integer[] empIds);
}
